Fix create-dmg steps and verify builds for PRs#15
Conversation
This fixes the case where the updater app would be found when `SPARKLE_PRIVATE_KEY` is not provided.
| # Find the built app | ||
| APP_PATH=$(find ./build/Build/Products/Release -name "*.app" -type d | head -n 1) | ||
| APP_NAME="Kaset.app" | ||
| BUILD_DIR="./build/Build/Products/Release" | ||
|
|
||
| # debug: show what's in the build folder | ||
| echo "Contents of $BUILD_DIR:" | ||
| ls -la "$BUILD_DIR" || true | ||
|
|
||
| # clean previous artifacts | ||
| rm -rf dmg_contents `kaset-dev.dmg` | ||
|
|
||
| # find the main app explicitly by name | ||
| APP_PATH=$(find "$BUILD_DIR" -type d -name "$APP_NAME" | head -n 1) |
There was a problem hiding this comment.
You can view the case from the artifact uploaded to https://github.com/sozercan/kaset/actions/runs/20550430982.
sozercan
left a comment
There was a problem hiding this comment.
thanks! added a suggestion for a minor change
Co-authored-by: Sertaç Özercan <852750+sozercan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR improves the robustness of the DMG creation process in CI/CD workflows by explicitly targeting the main Kaset.app to avoid conflicts with the Sparkle Updater.app when the SPARKLE_PRIVATE_KEY is not provided. It also enables build verification for pull requests.
- Explicitly finds the main app by name instead of using wildcards to avoid picking up Sparkle Updater.app
- Adds defensive checks for the binary existence before running architecture verification
- Enables the dev-build workflow for pull requests while skipping artifact uploads
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/release.yml | Updates DMG creation to explicitly find Kaset.app by name and adds defensive checks for binary verification |
| .github/workflows/dev-build.yml | Adds pull_request trigger and updates DMG creation logic to match release workflow improvements |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| echo "Contents of $BUILD_DIR:" | ||
| ls -la "$BUILD_DIR" || true | ||
|
|
||
| # clean previous artifacts |
There was a problem hiding this comment.
The comment uses "artifact" (singular) but the command removes multiple artifacts (kaset-dev.dmg and dmg_contents). The comment should use "artifacts" (plural) to accurately reflect what the command does.
This fixes the case where the updater app would be found when
SPARKLE_PRIVATE_KEYis not provided.